package com.jinsilu.freight.http.request;

import com.hjq.http.config.IRequestApi;
import org.json.JSONException;
import org.json.JSONObject;
import okhttp3.MediaType;
import okhttp3.RequestBody;

/**
 * 提交单个车辆认证信息Api
 *
 * @author yangyang
 * @time 2020-11-19 11:15
 */
public class VerifySingleVehicleApi implements IRequestApi {

    private String vehicleId; // 车辆id（新增车辆不需要传入该字段）
    private String licensePlateColor; // 车牌颜色
    private String licensePlateColorCode; // 车牌颜色Code
    private String drivingLicenseFrontUrl; // 行驶证正页图片
    private String drivingLicenseReverseUrl; // 行驶证副页图片
    private String vehicleTransportLicense; // 道路运输证图片
    private String vehicleTransportLicenseNumber; // 道路运输证号码
    private String insuranceCertificateUrl; // 保险证明图片
    private String insuranceCompany; // 保险公司名称
    private String insuranceCompanyCode; // 保险公司名称Code
    private String insuranceCertificateNumber; // 保险单号
    private String plateNumber; // 车号
    private String drivingLicenseIdCode; // 车辆识别号码
    private String drivingLicenseIssuingAuthority; // 行驶证发证机关
    //发证机关
    private String issuingAuthority;

    //车辆所属人
    private String vehicleOwner;

    //发动机编号
    private String engineNumber;

    //车辆类型
    private String vehicleType;

    //发动机类型
    private String energyType;

    //注册日期
    private String registerDate;

    //签发日期
    private String issueDate;

    //车辆用途
    private String useCharacter;

    //车辆型号
    private String vehicleModel;

    //有效期止
    private String validityEndDate;

    //核定载重质量[kg]
    private String approvedLoad;

    //总质量[kg]
    private String grossMass;

    private String vehicleFrontPhoto; // 车头照片

    private String vehicleLength; // 车辆长度
    private String vehicleLengthCode; // 车辆长度编码
    private String vehicleFrameNumber; // 车架号

    @Override
    public String getApi() {
        return "api/certification/vehicle";
    }

    public VerifySingleVehicleApi setVehicleId(String vehicleId) {
        this.vehicleId = vehicleId;
        return this;
    }

    public VerifySingleVehicleApi setLicensePlateColor(String licensePlateColor) {
        this.licensePlateColor = licensePlateColor;
        return this;
    }

    public VerifySingleVehicleApi setDrivingLicenseFrontUrl(String drivingLicenseFrontUrl) {
        this.drivingLicenseFrontUrl = drivingLicenseFrontUrl;
        return this;
    }

    public VerifySingleVehicleApi setDrivingLicenseReverseUrl(String drivingLicenseReverseUrl) {
        this.drivingLicenseReverseUrl = drivingLicenseReverseUrl;
        return this;
    }

    public VerifySingleVehicleApi setVehicleTransportLicense(String vehicleTransportLicense) {
        this.vehicleTransportLicense = vehicleTransportLicense;
        return this;
    }

    public VerifySingleVehicleApi setVehicleTransportLicenseNumber(String vehicleTransportLicenseNumber) {
        this.vehicleTransportLicenseNumber = vehicleTransportLicenseNumber;
        return this;
    }

    public VerifySingleVehicleApi setInsuranceCertificateUrl(String insuranceCertificateUrl) {
        this.insuranceCertificateUrl = insuranceCertificateUrl;
        return this;
    }

    public VerifySingleVehicleApi setInsuranceCompany(String insuranceCompany) {
        this.insuranceCompany = insuranceCompany;
        return this;
    }

    public VerifySingleVehicleApi setInsuranceCertificateNumber(String insuranceCertificateNumber) {
        this.insuranceCertificateNumber = insuranceCertificateNumber;
        return this;
    }

    public VerifySingleVehicleApi setPlatNumber(String platNumber) {
        this.plateNumber = platNumber;
        return this;
    }

    public VerifySingleVehicleApi setDrivingLicenseIdCode(String drivingLicenseIdCode) {
        this.drivingLicenseIdCode = drivingLicenseIdCode;
        return this;
    }

    public VerifySingleVehicleApi setLicensePlateColorCode(String licensePlateColorCode) {
        this.licensePlateColorCode = licensePlateColorCode;
        return this;
    }

    public VerifySingleVehicleApi setInsuranceCompanyCode(String insuranceCompanyCode) {
        this.insuranceCompanyCode = insuranceCompanyCode;
        return this;
    }

    public VerifySingleVehicleApi setPlateNumber(String plateNumber) {
        this.plateNumber = plateNumber;
        return this;
    }

    public VerifySingleVehicleApi setIssuingAuthority(String issuingAuthority) {
        this.issuingAuthority = issuingAuthority;
        return this;
    }

    public VerifySingleVehicleApi setVehicleOwner(String vehicleOwner) {
        this.vehicleOwner = vehicleOwner;
        return this;
    }

    public VerifySingleVehicleApi setEngineNumber(String engineNumber) {
        this.engineNumber = engineNumber;
        return this;
    }

    public VerifySingleVehicleApi setVehicleType(String vehicleType) {
        this.vehicleType = vehicleType;
        return this;
    }

    public VerifySingleVehicleApi setEnergyType(String energyType) {
        this.energyType = energyType;
        return this;
    }

    public VerifySingleVehicleApi setRegisterDate(String registerDate) {
        this.registerDate = registerDate;
        return this;
    }

    public VerifySingleVehicleApi setIssueDate(String issueDate) {
        this.issueDate = issueDate;
        return this;
    }

    public VerifySingleVehicleApi setUseCharacter(String useCharacter) {
        this.useCharacter = useCharacter;
        return this;
    }

    public VerifySingleVehicleApi setVehicleModel(String vehicleModel) {
        this.vehicleModel = vehicleModel;
        return this;
    }

    public VerifySingleVehicleApi setValidityEndDate(String validityEndDate) {
        this.validityEndDate = validityEndDate;
        return this;
    }

    public VerifySingleVehicleApi setApprovedLoad(String approvedLoad) {
        this.approvedLoad = approvedLoad;
        return this;
    }

    public VerifySingleVehicleApi setGrossMass(String grossMass) {
        this.grossMass = grossMass;
        return this;
    }

    public VerifySingleVehicleApi setDrivingLicenseIssuingAuthority(String drivingLicenseIssuingAuthority) {
        this.drivingLicenseIssuingAuthority = drivingLicenseIssuingAuthority;
        return this;
    }

    public VerifySingleVehicleApi setVehicleFrontPhoto(String vehicleFrontPhoto) {
        this.vehicleFrontPhoto = vehicleFrontPhoto;
        return this;
    }

    public String getVehicleFrontPhoto() {
        return vehicleFrontPhoto;
    }

    public VerifySingleVehicleApi setVehicleLength(String vehicleLength) {
        this.vehicleLength = vehicleLength;
        return this;
    }

    public VerifySingleVehicleApi setVehicleLengthCode(String vehicleLengthCode) {
        this.vehicleLengthCode = vehicleLengthCode;
        return this;
    }

    public VerifySingleVehicleApi setVehicleFrameNumber(String vehicleFrameNumber) {
        this.vehicleFrameNumber = vehicleFrameNumber;
        return this;
    }

}
